"""
Python2中的类分为旧式类和新式类
旧式类的MRO使用深度优先搜索（DFS）
Python3中只有新式类
新式类的MRO使用C3算法（类似于广度优先搜索）
如果不清楚MRO，可以使用类的mro()方法获取方法解析顺序
"""


class A:

    def show(self):
        print('A', end='')


class B(A):

    def show(self):
        super().show()
        print('B', end='')


class C(A):

    def show(self):
        super().show()
        print('C', end='')


class D(B, C):

    def show(self):
        super().show()
        print('D', end='')


d = D()
d.show()
print()
print(D.mro())
